package com.infocollect.project.grant.mapper;

import java.util.List;
import com.infocollect.project.grant.domain.GrFamiliesExampoint;
import com.infocollect.project.grant.domain.GrFamiliesExampointDto;

/**
 * 科类考点关联Mapper接口
 * 
 * @author infocollect
 * @date 2022-05-14
 */
public interface GrFamiliesExampointMapper 
{
    /**
     * 查询科类考点关联
     * 
     * @param examPointId 科类考点关联ID
     * @return 科类考点关联
     */
    public GrFamiliesExampoint selectGrFamiliesExampointById(Long examPointId);

    /**
     * 查询科类考点关联列表
     * 
     * @param grFamiliesExampoint 科类考点关联
     * @return 科类考点关联集合
     */
    public List<GrFamiliesExampoint> selectGrFamiliesExampointList(GrFamiliesExampoint grFamiliesExampoint);

    /**
     * 新增科类考点关联
     * 
     * @param grFamiliesExampoint 科类考点关联
     * @return 结果
     */
    public int insertGrFamiliesExampoint(GrFamiliesExampoint grFamiliesExampoint);

    /**
     * 修改科类考点关联
     * 
     * @param grFamiliesExampoint 科类考点关联
     * @return 结果
     */
    public int updateGrFamiliesExampoint(GrFamiliesExampoint grFamiliesExampoint);

    /**
     * 删除科类考点关联
     * 
     * @param examPointId 科类考点关联ID
     * @return 结果
     */
    public int deleteGrFamiliesExampointById(Long examPointId);

    /**
     * 批量删除科类考点关联
     * 
     * @param examPointIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteGrFamiliesExampointByIds(Long[] examPointIds);
    /**
     * 查询科类考点关联列表(含选中结果）
     *
     * @param grFamiliesExampointDto 科类考点关联
     * @return 科类考点关联集合
     */
    public List<GrFamiliesExampointDto> getExampointFamiliesList(GrFamiliesExampointDto grFamiliesExampointDto);

    public List<GrFamiliesExampointDto> getFamiliesSelectList(GrFamiliesExampointDto grFamiliesExampointDto);

    /**
     * 根据考点和项目清除已选择和科类信息
     * @param grFamiliesExampoint
     * @return
     */
    public int deleteGrFamiliesExampointByGrantIdAndExampointId(GrFamiliesExampoint grFamiliesExampoint);
}
